package com.lcsu.springcloud.entities;

import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

//@AllArgsConstructor //全参构造注解
//@Setter	自动添加类中所有属性相关的 set 方法
//@Getter	自动添加类中所有属性相关的 get 方法
//@Builder	使得该类可以通过 builder (建造者模式)构建对象
//@RequiredArgsConstructor	生成一个该类的构造方法，禁止无参构造
//@ToString	重写该类的toString()方法
//@EqualsAndHashCode	重写该类的equals()和hashCode()方法
//@Data	等价于上面的@Setter、@Getter、@RequiredArgsConstructor、@ToString、@EqualsAndHashCode
//用了@Data就不要有继承关系，类似 Kotlin 的做法。
//自己重写equals()， Lombok 不会对显式重写的方法进行生成。
//显式使用@EqualsAndHashCode(callSuper = true)， Lombok 会以显式指定的为准。
@Data    //set设置值/get获取值注解
@NoArgsConstructor //无参数构造注解
@Accessors(chain=true) //链式访问
public class Dept {
    //主键
    private Long deptno;
    //部门名称
    private String dname;
    //来自那个数据库，因为微服务架构可以一个服务对应一个数据库，同一个信息被存储到不同数据库。
    private String dbSource;

    public Dept(String dname) {
        super();
        this.dname = dname;
    }

}